//
//  @ Project : Adamantium Project
//  @ File Name : LRMap.h
//  @ Date : 12/3/2012
//  @ Author : 
//
//
#pragma once
#include "TemplateVector.h"
#include "SRMap.h"

//changes by Jason Stewart
//long range map is the mini map at the bottom left corner of screen
//map only shows numbers and shows a 3x3 grid. ie tiles around player position
//with center being player position.
//the numbers
//represent amount of stellar objects, ones spot
//enemy objects, tens spot,
//own star bases, hundreds spot,
//and if sector is super nova, thousands spot. or draw X?
//if darkSpace then draw X also?
#include "GameTexture.h"
#include "BeanieCore.h"
#include "Clickable.h"
#define MAX_LRSIZE 9
#define GRIDLINES_COLOUR 0xFF00AA00
#define GRID_PIXEL_SIZE 80
class LRMap {
public:
	LRMap();
	~LRMap();
	void draw();
	void init(TemplateVector<SRMap*> a_data, BeanieCore * a_core);
	void reInit(TemplateVector<SRMap*> a_data);
	int m_currentPos;//number 0 - 99 for sector pos. may change to another header
	void GrabBoundingBox(Clickable &a_box);//sets clickable bounding box

	GameTexture * m_pSupernovae;
private:
	/**will equal init and reInit a_data*/	
	TemplateVector<SRMap*> m_mapData;
	//will be drawing a background image, then grid lines to split up image into a 3x3 grid,
	//then highlighting(if used) then finally numbers or the X(maybe?) over each grid spot
	BeanieCore * m_core;
	float backgroundUScale;
	//game textures
	GameTexture m_LRMap;
	GameTexture m_DarkSpace;

	//positional defines
	V2DF m_backgroundOffset;
	V2DF m_gridDrawPos[MAX_LRSIZE];
	V2DF m_gridlineTopLeft, m_gridlineTopRight, m_gridlineBottomLeft, m_gridlineBottomRight;
	V2DF m_HGridlineLeft1, m_HGridlineLeft2, m_HGridlineRight1, m_HGridlineRight2,
		m_VGridlineTop1, m_VGridlineTop2, m_VGridlineBottom1, m_VGridlineBottom2;
};